package git

//git 项目搭建


/*

	一：	本地仓库搭建  .git文件夹会存放所有文件和代码的版本

		创建本地仓库的方法有两种︰一种是创建全新的仓库，另一种是克隆远程仓库。

		第一种方式：创建全新的仓库，需要用GIT管理的项目的根目录执行︰
		#在当前目录新建一个Git代码库
		$ git init      #本地文件夹会多出一个.git文件夹
			执行后可以看到，仅仅在项目目录多出了一个.git目录，关于版本等的所有信息都在这个目录里面。

		第二种方式：克隆远程目录，由于是将远程服务器的仓库完全镜像一份至本地
		#克隆一个项目和它的整个代码历史（版本信息）
		$ git clone [url]



	git init / git clone [url] 得到 .git文件夹


	.git 版本库核心文件的解释
		-hooks			[钩子]文件夹，触发一些命令指令的存储目录

		-info

		-objects		[版本目录]文件夹，以后提交的任何命令，都会形成一个文件
			-info
			-pack
						Git中的文件和一些操作都会以git对象来保存，git对象分为BLOB、tree和commit三种类型，
						例如git commit便是git中的commit对象，而各个版本之间是通过版本树来组织的，
						比如当前的HEAD会指向某个commit对象，而该commit对象又会指向几个BLOB对象或者tree对象。

		-refs			[引用]文件夹，tags和分支相关的文件夹
						该文件夹存储指向数据（分支)的提交对象的指针。
			-heads
			-tags

		-config			[配件]文件，存放和远程仓库的信息，地址、账号和邮箱等
						该文件主要记录针对该项目的一些配置信息，例如是否以bare方式初始化、remote的信息等，通过git remote add命令增加的远程分支的信息就保存在这里;
		-description

		-HEAD			[指针头]文件，默认head是指向当前分支的最新的一个版本
						HEAD该文件指明了git branch(即当前分支）的结果
						比如当前分支是master，则该文件就会指向master，但是并不是存储一个master字符串，而是分支在refs中的表示，例如ref:refs/heads/master

		-index			[暂缓区]文件
						该文件保存了暂存区域的信息。该文件某种程度就是缓冲区（staging area)，内容包括它指向的文件的时间戳、文件名、sha1值等;


	.git文件夹一旦被删除，就会丢失本地仓库的版本信息，全部丢失






*/